課程名稱 |
資料結構與演算法實務 Practical Data Structures and Algorithms |
開課學期 |
104-2 |
授課對象 |
學程 生物產業自動化學程 |
授課教師 |
陳倩瑜 |
課號 |
BME5010 |
課程識別碼 |
631 U1260 |
班次 |
|
學分 |
3 |
全/半年 |
半年 |
必/選修 |
選修 |
上課時間 |
星期二6(13:20~14:10)星期五6,7(13:20~15:10) |
上課地點 |
知武會議室知武會議室 |
備註 |
本系103學年以後入學學生專業必選課程,10門課擇2門修. 總人數上限:60人 |
Ceiba 課程網頁 |
http://ceiba.ntu.edu.tw/1042BME5010_PDSA |
課程簡介影片 |
|
核心能力關聯 |
本課程尚未建立核心能力關連 |
課程大綱
|
為確保您我的權利,請尊重智慧財產權及不得非法影印
|
課程概述 |
Note: 給有意加選這門課的同學:
Facebook:
https://www.facebook.com/groups/827658130678594/
批改系統帳號申請:
https://docs.google.com/spreadsheets/d/1y3ekTVJZq63fbJZJqj-WhAdXpErKkJBg-KeFHX2TxA8/edit?usp=sharing
如果希望在順利加選上之前,被授權登入課程ceiba網頁,請來信:
chienyuchen@ntu.edu.tw
此一課程在於介紹多種常用之資料結構與相關演算法,增進修課學生的程式設計能力,以期未來能在不同領域實際應用。
每週課程計畫進度:
Chapter 1: Fundamentals introduces a scientific and engineering basis for comparing algorithms and making predictions. It also includes our programming model.
Chapter 2: Sorting considers several classic sorting algorithms, including insertion sort, mergesort, and quicksort. It also includes a binary heap implementation of a priority queue.
Chapter 3: Searching describes several classic symbol table implementations, including binary search trees, red-black trees, and hash tables.
Chapter 4: Graphs surveys the most important graph processing problems, including depth-first search, breadth-first search, minimum spanning trees, and shortest paths.
Chapter 5: Strings investigates specialized algorithms for string processing, including radix sorting, substring search, tries, regular expressions, and data compression.
Chapter 6: Context highlights connections to systems programming, scientific computing, commercial applications, operations research, and intractability.
|
課程目標 |
本課程將搭配程式編輯,介紹多種可使用的資料結構,引領學生了解現有演算法,解決實際問題。 |
課程要求 |
修過至少一種基本程式設計課程(any language is fine, ext. C, C++, Java, Perl, ...) |
預期每週課後學習時數 |
|
Office Hours |
|
指定閱讀 |
Algorithms
By: Robert Sedgewick; Kevin Wayne
Publisher: Addison-Wesley Professional
Pub. Date: March 09, 2011
Print ISBN-10: 0-321-57351-X
Print ISBN-13: 978-0-321-57351-3
Web ISBN-10: 0-13-276257-9
Web ISBN-13: 978-0-13-276257-1
Pages in Print Edition: 976
作者網頁:
http://algs4.cs.princeton.edu
http://introcs.cs.princeton.edu |
參考書目 |
1. Bundle of Algorithms in Java, Third Edition, Parts 1-5: Fundamentals, Data
Structures, Sorting, Searching, and Graph Algorithms (3rd Edition) (Pts. 1-5)
2. Sanjoy Dasgupta, Christos H. Papadimitriou, and Umesh Vazirani, Algorithms,
McGraw-Hill, 2006. (http://beust.com/algorithms.pdf) |
評量方式 (僅供參考) |
No. |
項目 |
百分比 |
說明 |
1. |
程式作業 |
50% |
每週一次 |
2. |
期中考 |
25% |
|
3. |
期末考 |
25% |
|
|
週次 |
日期 |
單元主題 |
第1週 |
02/23, 02/26 |
Introduction
Connectivity problem |
第2週 |
03/01, 03/04 |
Connectivity problem<br>Analysis of Algorithms |
第3週 |
03/08, 03/11 |
Analysis of Algorithms |
第4週 |
03/15, 03/18 |
Stacks and Queues<br>Iterator (Java) |
第5週 |
03/22, 03/25 |
Elementary Sorts<br>Mergesort<br>Comparator (Java) |
第6週 |
03/29, 04/01 |
Quick sort<br>Selection sort<br>04/01 放假 |
第7週 |
04/05, 04/08 |
Quick selection<br>Duplicate keys<br>04/05 放假 |
第8週 |
04/12, 04/15 |
Priority queue<br>Binary heap<br>Heap sort |
第9週 |
04/19, 04/22 |
04/19 正常上課
04/22 Midterm (先到原上課教室查看座位表) |
第10週 |
04/26, 04/29 |
Symbol Tables<br>Binary Search Trees |
第11週 |
05/03, 05/06 |
Red-black trees<br>Kd-trees |
第12週 |
05/10, 05/13 |
Hashs |
第13週 |
05/17, 05/20 |
Undirected Graphs |
第14週 |
05/24, 05/27 |
Directed Graphs |
第15週 |
05/31, 06/03 |
Minimum Spanning Trees |
第16週 |
06/07, 06/10 |
Shortest Paths<br>06/10 放假 (6/4無補課,6/8會公開課程錄音檔,取代補課) |
第17週 |
06/14, 06/17 |
Minimum Spanning Trees + Shortest Paths |
第18週 |
06/21, 06/24 |
Final (06/24) [06/21 無課] |
|